import requests
from bs4 import BeautifulSoup

# 创世中文网排行榜 URL
url = 'https://chuangshi.qq.com/rank/526080_1'

# 模拟浏览器请求头（避免 403 拦截，关键！）
headers = {
    # "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.0.0 Safari/537.36",
    # "Referer": "https://chuangshi.qq.com/"  # 模拟从首页跳转，增强真实性
}

# 1. 发送请求获取 HTML
response = requests.get(url, headers=headers)
response.encoding = "utf-8"  # 解决中文乱码（创世中文网用 UTF-8 编码）
print(response.status_code)
# 2. 解析 HTML
soup = BeautifulSoup(response.text, "html.parser")

# 3. 定位排行榜数据（需通过 F12 查看网页结构，以下为实际标签匹配）
# 找到所有小说条目（排行榜中每个小说对应一个 .rank_item 类的标签）
novel_items = soup.find_all("div", class_="book-simple")

if not novel_items:
    print("未找到排行榜数据，可能被反爬或页面结构变化")
else:
    # 4. 提取并打印数据（如排名、小说名、作者、类型、人气）
    for idx, item in enumerate(novel_items,1):
        # print(idx)
        # print(item.text)
        # 小说名（<a class="book_name" ...>）
        book_name_tag = item.find("h4", class_="book-title")
        book_name = book_name_tag.get_text(strip=True) if book_name_tag else "未知书名"

        # 作者（<a class="author" ...>）
        author_tag = item.find("span", class_="author")
        author = author_tag.get_text(strip=True) if author_tag else "未知作者"

        # 小说类型（<span class="book_type">）
        type_tag = item.find("span", class_="rect")
        book_type = type_tag.get_text(strip=True) if type_tag else "未知类型"



        # 打印结果
        print(f"排名 {idx}")
        print(f"  书名：{book_name}")
        print(f"  作者：{author}")
        print(f"  类型：{book_type}")
